[INFO] cloning repository https://github.com/agnusdei1207/mcp-duckduckgo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/agnusdei1207/mcp-duckduckgo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fagnusdei1207%2Fmcp-duckduckgo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fagnusdei1207%2Fmcp-duckduckgo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 34eab28bf635ae5da8269ffa75d353aea7bbfb71
[INFO] fixing agnusdei1207/mcp-duckduckgo against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fagnusdei1207%2Fmcp-duckduckgo" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/agnusdei1207/mcp-duckduckgo
[INFO] finished tweaking git repo https://github.com/agnusdei1207/mcp-duckduckgo
[INFO] tweaked toml for git repo https://github.com/agnusdei1207/mcp-duckduckgo written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/agnusdei1207/mcp-duckduckgo on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/agnusdei1207/mcp-duckduckgo already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cookie_store v0.22.0
[INFO] [stderr]   Downloaded time-macros v0.2.26
[INFO] [stderr]   Downloaded time v0.3.46
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3b8318344d2708670ec340eef56127c2337aa8db4817e85c8ae9cb1398b81888
[INFO] running `Command { std: "docker" "start" "3b8318344d2708670ec340eef56127c2337aa8db4817e85c8ae9cb1398b81888", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3b8318344d2708670ec340eef56127c2337aa8db4817e85c8ae9cb1398b81888" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3b8318344d2708670ec340eef56127c2337aa8db4817e85c8ae9cb1398b81888", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3b8318344d2708670ec340eef56127c2337aa8db4817e85c8ae9cb1398b81888" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking siphasher v1.0.2
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling zmij v1.0.19
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking dtoa v1.0.11
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]     Checking servo_arc v0.4.3
[INFO] [stderr]     Checking webpki-roots v1.0.5
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling match_token v0.1.0
[INFO] [stderr]     Checking ryu v1.0.22
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking ego-tree v0.10.0
[INFO] [stderr]     Checking dtoa-short v0.3.5
[INFO] [stderr]    Compiling time-macros v0.2.26
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking string_cache v0.8.9
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]     Checking hyper-util v0.1.19
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling selectors v0.26.0
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking time v0.3.46
[INFO] [stderr]    Compiling markup5ever v0.14.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking cssparser v0.34.0
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking cookie v0.18.1
[INFO] [stderr]     Checking html5ever v0.29.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking publicsuffix v2.3.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking scraper v0.22.0
[INFO] [stderr]     Checking cookie_store v0.22.0
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking mcp-websearch v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/search/mod.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |             let mut requests = self.requests.lock().await;
[INFO] [stdout]    |                 ----^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/search/mod.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let mut last_request = self.last_request.lock().await;
[INFO] [stdout]    |                 ----^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `SearchParams` in this scope
[INFO] [stdout]   --> src/models/tests.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let params = SearchParams::new("test", 0, 0);
[INFO] [stdout]    |                      ^^^^^^^^^^^^ use of undeclared type `SearchParams`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::SearchParams;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `SearchParams` in this scope
[INFO] [stdout]   --> src/models/tests.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let params = SearchParams::new("test", 10000, 0);
[INFO] [stdout]    |                      ^^^^^^^^^^^^ use of undeclared type `SearchParams`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::SearchParams;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `SearchParams` in this scope
[INFO] [stdout]   --> src/models/tests.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let params = SearchParams::new("test", 10, 5);
[INFO] [stdout]    |                      ^^^^^^^^^^^^ use of undeclared type `SearchParams`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::SearchParams;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `JsonRpcError` in this scope
[INFO] [stdout]   --> src/models/tests.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let error = JsonRpcError::new(-32600, "Test error");
[INFO] [stdout]    |                     ^^^^^^^^^^^^ use of undeclared type `JsonRpcError`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::models::JsonRpcError;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `SearchResult` in this scope
[INFO] [stdout]   --> src/models/tests.rs:34:22
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let result = SearchResult {
[INFO] [stdout]    |                      ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::SearchResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `SearchResult` in this scope
[INFO] [stdout]   --> src/models/tests.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let parsed: SearchResult = serde_json::from_str(&json).unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::SearchResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `SearchResponse` in this scope
[INFO] [stdout]   --> src/models/tests.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let response = SearchResponse {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::SearchResponse;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `SearchResult` in this scope
[INFO] [stdout]   --> src/models/tests.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |             results: vec![SearchResult {
[INFO] [stdout]    |                           ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::SearchResult;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `JsonRpcRequest` in this scope
[INFO] [stdout]   --> src/models/tests.rs:79:22
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let request: JsonRpcRequest = serde_json::from_value(json).unwrap();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::JsonRpcRequest;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `JsonRpcResponse` in this scope
[INFO] [stdout]   --> src/models/tests.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let response = JsonRpcResponse {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::JsonRpcResponse;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `ToolResponse` in this scope
[INFO] [stdout]    --> src/models/tests.rs:105:32
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let success_response = ToolResponse {
[INFO] [stdout]     |                                ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   5 +     use crate::ToolResponse;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `ToolContent` in this scope
[INFO] [stdout]    --> src/models/tests.rs:106:27
[INFO] [stdout]     |
[INFO] [stdout] 106 |             content: vec![ToolContent {
[INFO] [stdout]     |                           ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   5 +     use crate::ToolContent;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `ToolResponse` in this scope
[INFO] [stdout]    --> src/models/tests.rs:113:30
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let error_response = ToolResponse {
[INFO] [stdout]     |                              ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   5 +     use crate::ToolResponse;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `ToolContent` in this scope
[INFO] [stdout]    --> src/models/tests.rs:114:27
[INFO] [stdout]     |
[INFO] [stdout] 114 |             content: vec![ToolContent {
[INFO] [stdout]     |                           ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   5 +     use crate::ToolContent;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `DuckDuckGoScraper` in this scope
[INFO] [stdout]   --> src/search/tests.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let results = DuckDuckGoScraper::parse_results_static(html);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^ use of undeclared type `DuckDuckGoScraper`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::DuckDuckGoScraper;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `DuckDuckGoScraper` in this scope
[INFO] [stdout]   --> src/search/tests.rs:49:23
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let results = DuckDuckGoScraper::parse_results_static(html);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^ use of undeclared type `DuckDuckGoScraper`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::DuckDuckGoScraper;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `DuckDuckGoScraper` in this scope
[INFO] [stdout]   --> src/search/tests.rs:58:23
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let results = DuckDuckGoScraper::parse_results_static(html);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^ use of undeclared type `DuckDuckGoScraper`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::DuckDuckGoScraper;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `DuckDuckGoScraper` in this scope
[INFO] [stdout]   --> src/search/tests.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let results = DuckDuckGoScraper::parse_results_static(html);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^ use of undeclared type `DuckDuckGoScraper`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::DuckDuckGoScraper;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `DuckDuckGoScraper` in this scope
[INFO] [stdout]   --> src/search/tests.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let scraper = DuckDuckGoScraper::default();
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^ use of undeclared type `DuckDuckGoScraper`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::DuckDuckGoScraper;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `McpServer` in this scope
[INFO] [stdout]   --> src/mcp/tests.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let server = McpServer::new();
[INFO] [stdout]    |                      ^^^^^^^^^ use of undeclared type `McpServer`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::McpServer;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `McpServer` in this scope
[INFO] [stdout]   --> src/mcp/tests.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let server = McpServer::new();
[INFO] [stdout]    |                      ^^^^^^^^^ use of undeclared type `McpServer`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::McpServer;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `McpServer` in this scope
[INFO] [stdout]   --> src/mcp/tests.rs:36:22
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let server = McpServer::new();
[INFO] [stdout]    |                      ^^^^^^^^^ use of undeclared type `McpServer`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::McpServer;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `McpServer` in this scope
[INFO] [stdout]   --> src/mcp/tests.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let server = McpServer::new();
[INFO] [stdout]    |                      ^^^^^^^^^ use of undeclared type `McpServer`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::McpServer;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `McpServer` in this scope
[INFO] [stdout]   --> src/mcp/tests.rs:71:22
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let server = McpServer::new();
[INFO] [stdout]    |                      ^^^^^^^^^ use of undeclared type `McpServer`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::McpServer;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `McpServer` in this scope
[INFO] [stdout]   --> src/mcp/tests.rs:88:22
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let server = McpServer::new();
[INFO] [stdout]    |                      ^^^^^^^^^ use of undeclared type `McpServer`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]    |
[INFO] [stdout]  5 +     use crate::McpServer;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `McpServer` in this scope
[INFO] [stdout]    --> src/mcp/tests.rs:100:22
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let server = McpServer::new();
[INFO] [stdout]     |                      ^^^^^^^^^ use of undeclared type `McpServer`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   5 +     use crate::McpServer;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `McpServer` in this scope
[INFO] [stdout]    --> src/mcp/tests.rs:111:22
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let server = McpServer::new();
[INFO] [stdout]     |                      ^^^^^^^^^ use of undeclared type `McpServer`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   5 +     use crate::McpServer;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `McpServer` in this scope
[INFO] [stdout]    --> src/mcp/tests.rs:135:22
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let server = McpServer::default();
[INFO] [stdout]     |                      ^^^^^^^^^ use of undeclared type `McpServer`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   5 +     use crate::McpServer;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/models/tests.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/search/tests.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/mcp/tests.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SearchParams`
[INFO] [stdout]  --> src/mcp/tests.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use crate::models::{JsonRpcRequest, SearchParams};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/search/mod.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |             let mut requests = self.requests.lock().await;
[INFO] [stdout]    |                 ----^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/search/mod.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let mut last_request = self.last_request.lock().await;
[INFO] [stdout]    |                 ----^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `requests`
[INFO] [stdout]   --> src/search/mod.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |             let mut requests = self.requests.lock().await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requests`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `script_selector`
[INFO] [stdout]    --> src/search/mod.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let script_selector = Selector::parse("script, style, nav, footer, header, aside").unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_script_selector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search/mod.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |     let mut html = document.html().to_string();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `script_selector`
[INFO] [stdout]    --> src/search/mod.rs:331:9
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let script_selector = Selector::parse("script, style, nav, footer, header, aside, svg, noscript").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_script_selector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `html`
[INFO] [stdout]    --> src/search/mod.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |     let mut html = document.html().to_string();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_html`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `requests`
[INFO] [stdout]   --> src/search/mod.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |             let mut requests = self.requests.lock().await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requests`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_absent` found for enum `Value` in the current scope
[INFO] [stdout]   --> tests/e2e_tests.rs:84:62
[INFO] [stdout]    |
[INFO] [stdout] 84 |     assert!(response["error"].is_null() || response["error"].is_absent());
[INFO] [stdout]    |                                                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `is_object` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 84 -     assert!(response["error"].is_null() || response["error"].is_absent());
[INFO] [stdout] 84 +     assert!(response["error"].is_null() || response["error"].is_object());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `script_selector`
[INFO] [stdout]    --> src/search/mod.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let script_selector = Selector::parse("script, style, nav, footer, header, aside").unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_script_selector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search/mod.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |     let mut html = document.html().to_string();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `script_selector`
[INFO] [stdout]    --> src/search/mod.rs:331:9
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let script_selector = Selector::parse("script, style, nav, footer, header, aside, svg, noscript").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_script_selector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `html`
[INFO] [stdout]    --> src/search/mod.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |     let mut html = document.html().to_string();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_html`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0422, E0425, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0422`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mcp-websearch` (test "e2e_tests") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `mcp-websearch` (lib test) due to 28 previous errors; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "3b8318344d2708670ec340eef56127c2337aa8db4817e85c8ae9cb1398b81888", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3b8318344d2708670ec340eef56127c2337aa8db4817e85c8ae9cb1398b81888", kill_on_drop: false }`
[INFO] [stdout] 3b8318344d2708670ec340eef56127c2337aa8db4817e85c8ae9cb1398b81888
